In producing integrated circuits or circuit boards for systems, the use of a serial communication bus for test and debug is rapidly becoming a standard practice. The use of the serial bus allows the system, circuit board or integrated circuits to be tested and connections to be confirmed without the need for intrusive hardware or test probes. This is particularly important as packaging of the devices reaches higher densities and for multiple integrated circuits packaged on a single module, or for systems where the circuitry is not available for physical access for other reasons.
Industry has developed and continues to develop standard protocols for serial busses of this kind. The standards are necessary and desirable to insure that parts and boards acquired from various vendors will be able to communicate on a common bus. In general, the concepts of this invention apply to any type of serial bus. However, to clarify the description of the invention it will be described as being a feature added to a well understood and documented IEEE/ANSI standard serial bus designed for testing ICs at the board level, referred to as IEEE/ANSI standard 1149.1 or more commonly as the JTAG boundary scan standard.
The IEEE/ANSI 1149.1 standard describes a 4-wire serial bus that can be used to transmit serial data to and receive serial data from multiple ICs on a board. While the 1149.1 serial bus was originally developed to serially access ICs at the board level, it can also be used at the backplane level to serially access ICs on multiple boards.
The 1149.1 standard describes a 4-wire serial bus that can be used to transmit serial data between a serial bus master and slave device. While 1149.1 was developed to serially access ICs on a board, it can be used at the backplane level to serially access boards in a backplane. 1149.1 has two serial access configurations, referred to as "ring" and "star", that can be used at the backplane level.
In a backplane 1149.1 ring configuration, all boards in the backplane directly receive the control outputs from a primary serial bus master (PSBM) and are daisy chained between the PSBM's data output and data input. During scan operation, the PSBM outputs control scan data through all boards in the backplane, via its test data output (TDO) and test data input (TDI) bus connections. The problem associated with the ring configuration is that the scan operation only works if all the boards are included in the backplane and are operable to scan data from their TDI input to TDO output signals. If one of the boards is removed or has a fault, the PSBM will be unable to scan data through the backplane. Since the ring configuration does not allow access to remaining boards when one is removed or disabled, it does not fully meet the needs of a serial bus for backplane and large system applications.
In a backplane 1149.1 star configuration, all boards in the backplane directly receive the test clock (TCK) and TDI signals from the PSBM and output a TDO signal to the PSBM. Also each board receives a unique test mode select (TMS) signal from the PSBM. In the star configuration only one board is enabled at a time to be serially accessed by the PSBM. When a board is enabled, the TMS signal associated with that board will be active while all other TMS signals are inactive. The problem with the star configuration is that each board requires its own TMS signal. In a backplane with 100 boards, the PSBM would have to have 100 individually controllable TMS signals, and the backplane would have to have traces for each of the 100 TMS signals. Due to these requirements, star configurations are typically not considered for backplane applications.
Two IEEE serial bus standards, P1149.5 and P1394, are in development for use in system backplanes. Since these standards are being specifically designed for backplane applications, they appear to overcome the problems stated using the 1149.1 standard bus as a backplane bus. However, the protocols of these anticipated standards are different from the 1149.1 protocol and therefore methods must be defined to translate between them and 1149.1.
The IEEE P1149.5 standard working group is currently defining a module test and maintenance bus that can be used in system backplane environments. P1149.5 is a single master/multiple slave bus defined by a 5-wire interface. The P1149.5 bus master initiates a data transfer operation by transmitting a data packet to all slave devices. The data packet consists of an address and command section. The slave device with a matching address is enabled to respond to the command section of the data packet as described in the P1149.5 standard proposal.
Interfacing an P1149.5 bus into an 1149.1 bus environment requires new additional system hardware and software, and designers with a detailed understanding of both bus types. Therefore, in using P1149.5 to interface into an 1149.1 environment, an unnecessary complication is added to an otherwise simple serial access approach. Another problem is that the bandwidth of the 1149.1 serial data transfer will be adversely affected by the 1149.5 to 1149.1 protocol conversion process and hardware.
The IEEE P1394 standard working group is currently defining a 2-wire high-speed serial bus that can be used in either a cable or system backplane environment. The P1394 standard, unlike P1149.5, is not a single master/multiple slave type bus. In P1394, all devices (nodes) connected to the bus are considered to be of equal mastership. The fact that P1394 can operate on a 2-wire interface makes this bus attractive in newer 32-bit backplane standards where only two wires are reserved for serial communication. However, there are problems in using P1394 as a backplane test bus to access 1149.1 board environments.
First, P1394 is significantly more complex in operation than P1149.1, thus devices designed to translate between P1394 and 1149.1 may be costly. Second, P1394 is not a full time test bus, but rather it is a general purpose serial communication bus, and its primary purpose in a backplane environment is to act as a backup interface in the event the parallel interface between boards becomes disabled. While 1149.1 test access can be achieved via P1394, it will be available only during time slices when the bus is not handling functional operations. Thus on-line 1149.1 test bus access will be limited and must be coordinated with other transactions occurring on the P1394 bus. This will require additional hardware and software complexity.
Another method of achieving a backplane to board level interface is to extend the protocol defined in the 1149.1 standard. Such an approach has been described in a paper presented at the 1991 International Test Conference by D. Bhavsar, entitled "An Architecture for Extending the IEEE Standard 1149.1 Test Access Port to System Backplanes". The Bhavsar paper describes a method of extending the protocol of 1149.1 so it can be used to access an interface circuit residing between the backplane and board level 1149.1 buses. The interface circuit responds to 1149.1 protocol transmitted over the backplane bus to load an address. If the address matches the address of the interface circuit, the interface circuit is connected to the backplane. After the interface circuit is connected to the backplane, additional 1149.1 protocol is input to the interface circuit to connect the backplane and board level 1149.1 buses. Following this connection procedure, the board level 1149.1 bus can be controlled by the backplane 1149.1 bus. Bhavsar's approach also has problems that limit its effectiveness as a general purpose 1149.1 bus backplane to board interface.
Bhavsar's approach does not allow selecting one board, then selecting another board without first resetting the backplane and board level 1149.1 buses, by transitioning them into their test logic reset (TLRST) states. Entering the TLRST state causes test conditions setup in the ICs of a previously selected board to be lost due to the test reset action of the 1149.1 bus on the test access ports (TAPs) of the ICs.
Also, it is often desirable to select and initiate self-tests in a selected group of backplane boards. However, since the Bhavsar approach requires resetting the 1149.1 bus each time a new board is selected, it is impossible to self-test more than one board at a time, because resetting the bus aborts any previously initiated self-test.
Thus, a need exists for a simple, efficient and effective means to provide support for the use of an 1149.1 standard serial bus in a multiple-board backplane environment. The invention described herein meets this need.